分枝定界法



下面摘自百度百科:


1定义

分支定界法(branch and bound)是一种求解整数规划问题的最常用算法。这种方法不但可以求解纯 整数规划 ,还可以求解混合整数规划问题。

2基本思路

设最大化的整数规划问题为A, 相应的不含整数约束的线性规划为B, 若B 的最优解不符合A 的整数条件, 那么B 的最优目标函数值必为A 的最优目标函数值Z* 的一个上界, 记作Z; 而A 的任意可行解的目标函数值将是Z* 的一个下界, 记作Z。对B 的非整数解的相邻整数作附加条件, 从而形成两个分枝, 即两个子问题, 两个子问题的可行域中包含原整数规划问题的所有可行解。不断分枝, 逐步减小Z, 增大Z, 最终求得Z* 。

3算法步骤

第1步:放宽或取消原问题的某些约束条件,如求 整数 解的条件。如果这时求出的最优解是原问题的 可行解 ,那么这个解就是原问题的最优解,计算结束。否则这个解的目标函数值是原问题的最优解的上界。
第2步:将放宽了某些约束条件的替代问题分成若干子问题,要求各子问题的解集合的并集要包含原问题的所有 可行解 ,然后对每个子问题求 最优解 。这些子问题的 最优解 中的最优者若是原问题的 可行解 ,则它就是原问题的 最优解 ,计算结束。否则它的目标函数值就是原问题的一个新的上界。另外,各子问题的最优解中,若有原问题的 可行解 的,选这些可行解的最大目标函数值,它就是原问题的最优解的一个下界。
第3步: 最优解 目标函数 值已小于这个下界的子问题,其 可行解 中必无原问题的最优解,可以放弃。对最优解(不是原问题的可行解)的目标函数值大于这个下界的子问题,都先保留下来,进入第4步。
第4步:在保留下的所有子问题中,选出 最优解 目标函数 值最大的一个,重复第1步和第2步。如果已经找到该子问题的最优 可行解 ,那么其目标函数值与前面保留的其他问题在内的所有子问题的可行解中目标函数值最大者,将它作为新的下界,重复第3步,直到求出最优解。

还有一篇博客文章,写的很好,感谢原创作者    http://dec3.jlu.edu.cn/webcourse/t000048/yun/ch4_02.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值